字串是什麼?
簡單來說,就是將字串在一起,而外面則引號包起來。
引號有兩種:
''
""
name = "Kitty"
name = 'Nancy'
這兩種都可以使用,但還是有些微的差異。
雙引號的字串可以處理字串串接。
單引號的字串則不會處理。
下面章節會做示範。
字串是可以用加號進行組合跟串接。
name = "Kitty"
age = 10
puts "Hi,my name is" + name + "I am" + age + "years old"
# TypeErro
因為字串無法與數字相接。
所以要先把age變成字串
name = "Kitty"
age = 10
puts "Hi,my name is" + name + "I am" + age.to_s + "years old"
# 印出 Hi,my name is Kitty. I am 10 years old.
雖然這樣寫也是可以,但是語法寫起來比較不好看。
在Ruby的字串有提供了字串安插的寫法。
name = "Kitty"
age = 10
# 雙引號
puts "Hi,my name is #{name}. I am #{age} years old."
# 印出 Hi,my name is Kitty. I am 10 years old.
# 單引號
puts 'Hi,my name is #{name}. I am #{age} years old.'
# 印出 Hi,my name is #{name}. I am #{age} years old.
這樣寫是不是看起來比較舒服了呢?
有時後,我們需要在字串中在放引號,像是在雙引號放單引號:
puts "Hello, I'm Kiity."
但如果我需要在雙引號中放雙引號,那麼我就需要使用到反斜線來跳脫(escape)這個引號。
puts "這邊是\"重點\"請記好"
# 印出 這邊是"重點"請記好
在Ruby中,除了引號以外,你還可以使%Q
和%q
,其效果跟雙引號及單引號一樣。
name = "Kitty"
age = 10
# %Q
puts "Hi,my name is #{name}. I am #{age} years old."
# 印出 Hi,my name is Kitty. I am 10 years old.
# %q
puts %q(Hi,my name is #{name}. I am #{age} years old.)
# 印出 Hi,my name is #{name}. I am #{age} years old.
參考資料: